package br.ucb.antares.HIB;

import java.util.List;

import org.hibernate.Session;
import org.hibernate.Transaction;

import br.ucb.antares.entidade.Produto;
import br.ucb.antares.interfaces.HIB;
import br.ucb.antares.log4j.ProdutoLog;

public class ProdutoHIB implements HIB<Produto> {

	public void salvar(Produto produto){
		Session session = HibernateUtil.getSession();
		Transaction transaction = session.beginTransaction();
		session.saveOrUpdate(produto);
		transaction.commit();
		session.close();
	}
	
	public void excluir (Produto produto){
		Session session = HibernateUtil.getSession();
	    Transaction transaction = session.beginTransaction();
	    session.delete(produto);
	    transaction.commit();
	session.close();
	}

	@SuppressWarnings("unchecked")
	public List<Produto>  listar() {
		Session session = HibernateUtil.getSession();
	    try {
	      return session.createCriteria(Produto.class).list();
	    } finally {
	      session.close();
	    }
	}
	public Produto consultar(long id) {
	    Session session = HibernateUtil.getSession();
	    try {
	      Produto produto = (Produto) session.get(Produto.class, id);
	      return produto;
	    } finally {
	      session.close();
	    }
	}


}
